﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace RndMaterialDisposalService.Models
{
    /// <summary>
    /// 
    /// </summary>
    [Table("PRC_ConfigDictionary")]
    public class ConfigDictionaryModel
    {
        /// <summary>
        /// 
        /// </summary>
        public ConfigDictionaryModel()
        {
            Id = Guid.NewGuid();
            IsDeleted = false;
            CreateTime = DateTime.Now;
        }

        /// <summary>
        /// Desc:字典主键
        /// Default:
        /// Nullable:False
        /// </summary>   
        [Key]
        public Guid Id { get; set; }

        /// <summary>
        /// Desc:字典父Id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public Guid ParentId { get; set; }
        /// <summary>
        /// Desc:字典值
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string Code { get; set; }

        /// <summary>
        /// Desc:字典名称
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? Name { get; set; }

        /// <summary>
        /// Desc:字典值
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? Value { get; set; }

        /// <summary>
        /// Desc:字典类型
        /// Default:1 目录  2 字典项
        /// Nullable:False
        /// </summary>           
        public int Type { get; set; }

        /// <summary>
        /// Desc:排序
        /// Default:
        /// Nullable:True
        /// </summary>           
        public int? Order { get; set; }

        /// <summary>
        /// Desc:字典描述
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? Remark { get; set; }
        /// <summary>
        /// Desc:生效日期
        /// Default:
        /// Nullable:True
        /// </summary>           
        public DateTime? ActiveDate { get; set; }
        /// <summary>
        /// Desc过期日期
        /// Default:
        /// Nullable:True
        /// </summary>           
        public DateTime? InActiveDate { get; set; }

        /// <summary>
        /// Desc:是否删除
        /// Default:
        /// Nullable:False
        /// </summary>           
        public bool? IsDeleted { get; set; }

        /// <summary>
        /// Desc:创建人
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? CreateBy { get; set; }

        /// <summary>
        /// Desc:创建时间
        /// Default:
        /// Nullable:True
        /// </summary>           
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// Desc:修改人
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? ModifiedBy { get; set; }

        /// <summary>
        /// Desc:修改时间
        /// Default:
        /// Nullable:True
        /// </summary>           
        public DateTime? ModifiedTime { get; set; }

        /// <summary>
        /// Desc:扩展字段1
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? Field1 { get; set; }

        /// <summary>
        /// Desc:扩展字段2
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? Field2 { get; set; }

        /// <summary>
        /// Desc:扩展字段3
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string? Field3 { get; set; }

        /// <summary>
        /// 标识，1是选人控件
        /// </summary>
        public int? FunTag { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string? AdminViews { get; set; }
    }
}
